//wa
#include <cstdio>
#include <vector>
using namespace std;

#define FOR(i,n) for(i = 0; i < n; i++)
#define abss(x) (x>0 ? x : -(x))

typedef struct aaa{
	int a[8];
} conf;

vector<conf> v;
conf b;
conf c;
int i, j, temp, sum;
int l[8];

void init2(){
	sum=0;
	int tui[8], ii, jj, a0, a1, a2, a3, a4, a5, a6, a7;
	
	FOR(tui[0], 8){
		FOR(tui[1], 8){
			FOR(tui[2], 8){
				FOR(tui[3], 8){
					FOR(tui[4], 8){
						FOR(tui[5], 8){
							FOR(tui[6], 8){
								FOR(tui[7], 8){
									// tui[0] = a0;
									// tui[1] = a1;
									// tui[2] = a2;
									// tui[3] = a3;
									// tui[4] = a4;
									// tui[5] = a5;
									// tui[6] = a6;
									// tui[7] = a7;
										//printf("{%d, %d, %d, %d, %d, %d, %d, %d}, ", tui[0],tui[1],tui[2],tui[3],tui[4],tui[5],tui[6],tui[7]);
	for(ii=0;ii<8;++ii){
		for(jj=0;jj<8;++jj){
			if(ii==jj)continue;
			if((tui[ii]==tui[jj])||(abss(ii-jj)==abss(tui[ii]-tui[jj])))goto nao;
		}
	}
										sum++;
										printf("{%d, %d, %d, %d, %d, %d, %d, %d}, ", tui[0],tui[1],tui[2],tui[3],tui[4],tui[5],tui[6],tui[7]);
									nao: ;
								}
							}
						}
					}
				}
			}
		}
	}



	// for(i=0;i<8;++i)l[i]=0;
	
	// for(l[0]=0;l[0]<8;l[0]++){
		// for(l[1]=0;l[1]<8;l[1]++){
			// for(l[2]=0;l[2]<8;l[2]++){
				// for(l[3]=0;l[3]<8;l[3]++){
					// for(l[4]=0;l[4]<8;l[4]++){
						// for(l[5]=0;l[5]<8;l[5]++){
							// for(l[6]=0;l[6]<8;l[6]++){
								// for(l[7]=0;l[7]<8;l[7]++){
									// for(i=0;i<8;++i){
										// if(!pode(i)) goto aqui;
									// }
									// for(j=0;j<8;++j)c.a[j]=l[j];
									// v.push_back(c);
									
									// aqui: ;
								// }
							// }
						// }
					// }
				// }
			// }
		// }
	// }
}
int main(){
	freopen("in.txt","r",stdin);freopen("out.txt","w",stdout);
	
	//for(i=0;i<8;++i)l[i]=0;
	//init(0);
	init2();
	// printf("{ ");
	// for(i=0;i<v.size();++i){
		// printf("{ ");
		// printf("%d ", v[i].a[0]);
		// for(j=1;j<8;++j)printf(", %d", v[i].a[j]);
		// printf(" }, ");
	// }
	printf("\n%d", sum);
	
	// printf("%d\n\n", v.size());
	
	// while(scanf("%d", &b.a[0])==1){
		// b.a[0]--;
		// for(i=1;i<8;++i){
			// scanf("%d", &b.a[i]);
			// b.a[i]--;
		// }
		// process();
		// printf("%d\n", 8-sum);
	// }
	return 0;
}
